#ifndef _TAROT_TAROTDECK_H
#define _TAROT_TAROTDECK_H

#include "../Main.h"
#include "../qabalah/Qabalah.h"
#include "Tarot.h"
#include "CardSet.h"


class TarotDeck : public CardSet {
private:
	tarot_card symbol2trump[256];
	tarot_card trumpOrder[22];
	tarot_element trumpElements[22];
	char cardSigns[156];
	char *title;
	char *author;
	char *artist;
	int reversed;
	cairo_surface_t *back;		/**< Back image of deck, same for all cards in deck. */

	FILE *openFile(const char *fn);
	void readHeader(FILE *fp);
	void readCards(FILE *fp);

public:
friend class Card;

	TarotDeck();
	~TarotDeck();

	void loadImages(const char *nm);

	char *getTitle() { return title; }
	char *getAuthor() { return author; }
	char *getArtist() { return artist; }
	int getReversed() { return reversed; }

	tarot_card symbolToTrump(int s) { return symbol2trump[s]; }
	qabalah_hebrew trumpToHebrew(tarot_card t);
};



#endif /* _TAROT_TAROTDECK_H */


